[data-dsfr] .ol-control button:not([class*=fr-btn]) {
  padding: 0.5rem;
  width: 2rem;
  height: 2rem;
  box-sizing: content-box;
  line-height: 2rem;
  box-shadow: none;
}
[data-dsfr] .ol-control button {
  border-radius: 4px;
}
[data-dsfr] .ol-control button:hover {
  outline: none;
}
[data-dsfr] .ol-control button:focus-visible {
  z-index: 1;
  position: relative;
  outline-offset: 2px;
  outline-width: 2px;
  outline-color: #0a76f6;
  outline-style: solid;
}

[data-dsfr] .ol-control button {
  color: var(--text-action-high-blue-france);
  box-shadow: none;
  margin: 0;
  border: 0;
}
[data-dsfr] .ol-control button.fr-btn {
  box-sizing: content-box;
  line-height: 1em;
  border-radius: 0!important;
}
.ol-control.ol-bar .ol-toggle.ol-active > button, 
.ol-control.ol-bar .ol-toggle.ol-active button:hover {
  background-color: var(--blue-france-975-75-active);
  color: var(--text-action-high-blue-france)
}

.ol-control.ol-bar {
  background-color: #fff;
  padding: 4px;
  border-radius: 4px;
}

.ol-control.ol-bar .ol-control, 
.ol-control.ol-bar.ol-group button {
  margin: 0;
  border-radius: 0;
}
.ol-layerswitcher button:before {
  content: none
}

/* Layer switcher */
[data-dsfr] .ol-layerswitcher {
  overflow: visible;
  background-color: rgba(255,255,255,0.6);
}
.ol-layerswitcher button:after {
  content: "";
  background: none;
  transform: none;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background-color: var(--text-action-high-blue-france);
  background-color: var(--background-action-high-blue-france);
  mask-repeat: no-repeat;
  mask: url() center no-repeat;
  position: absolute;
}
.ol-layerswitcher li:has(> div.li-content > .ol-visibility:focus) {
  border-color: #0a76f6;
  box-shadow: inset 0 0 0 1px #0a76f6;
}
.ol-layerswitcher input:focus-visible+label:before {
  outline: 0;
}

/* Zoom buttons */
[data-dsfr] .ol-zoom .ol-zoom-in {
  border-radius: 4px 4px 0 0;
}
[data-dsfr] .ol-zoom .ol-zoom-out {
  border-radius: 0 0 4px 4px;
}
